public class App {
    public static void main(String[] args) {
       // printColor(ColorEnum.GREEN);
       //eachEnum();
        //valueOf();
        ColorEnum colorEnum=ColorEnum.GREEN;
        ColorEnum colorEnum2=ColorEnum.RED;
        ColorEnum colorEnum3=ColorEnum.BLACK;
        System.out.println("颜色顺序是：红色，绿色，黑色");
        int result1=colorEnum.compareTo(colorEnum2);
        System.out.println("绿色对比红色："+result1);
        int result2=colorEnum.compareTo(colorEnum);
        System.out.println("绿色对比绿色:"+result2);
        int result3=colorEnum.compareTo(colorEnum3);
        System.out.println("绿色对比黑色:"+result3);
        int result4=colorEnum2.compareTo(colorEnum3);
        System.out.println("红色对比黑色:"+result4);
    }



    /**
     *常用方法valueOf()
     */
    private static void valueOf(){
        String color="GREEN";
        try{
            //将字符串转化成枚举示例
            ColorEnum colorEnum=ColorEnum.valueOf(color);
            printColor(colorEnum);
        }catch(Exception e){
            System.out.println("枚举类型转换失败");
        }
    }


    /**
     *values()方法
     * ordinal()方法
     */
    private static void eachEnum(){
        //得到所有的枚举类型
        ColorEnum[] arrs=ColorEnum.values();
        for (ColorEnum item:arrs){
            //返回当前枚举示例的下标
            int enumidx=item.ordinal();
            System.out.println(item+":"+enumidx);
        }
    }


    /**
     * switch枚举示例
     */
    public static void printColor(ColorEnum colorEnum){
        switch(colorEnum){
            case RED:
                System.out.println("这是一个红色");
                break;
            case BLACK:
                System.out.println("这是一个黑色");
                break;
            case GREEN:
                System.out.println("这是一个绿色");
                break;
            default:
                System.out.println("未知颜色");
                break;
        }
    }
}
